Copyright(C) 1994 Terumasa KODAKA , Takeshi KONO ■Japanese Input Extension Function o INT DCh - Function E0~FDh are Japanese input extension function functions. The Japanese input FEP included with MS-DOS hooks INT DCh to add processing for Function E0~FDh. This manual only lists the Japanese input extension function, including the interrupt and function numbers and the meanings of register input and output. For details, see the MS-DOS Programmer's Reference Manual. The following table shows a list of kanji conversion methods for each MS-DOS version. Table List of Kanji conversion methods for each MS-DOS version -------------+----------------+----------------+-----------+--------------------+-------+-------- Product name |Kanji conversion| Driver name |Device name|Dictionary file name|INT DCh|MS-KANJI (Version) | method | | | | API | API -------------+----------------+----------------+-----------+--------------------+-------+-------- PS98-111 |Selective input |Built-in IO.SYS | − | − | − | − (1.25) | | | | | | PS98-121 |Single Kanji |Built-in IO.SYS | − | KNJDIC.SYS | − | − (2.0) | | | | | | PS98-122 |Hexadecimal |Built-in IO.SYS | − | − | − | − (2.0) |Phrase |KNJDIC.DRV | KNJ | KNJDIC.SYS | − | − |Single phrase |NECDIC.DRV | $BUN#NEC | NECDIC.SYS | ○ | − PS98-123 |Hexadecimal |IO.SYS built-in | − | − | − | − (2.0) |Single phrase |NECDIC.DRV | $BUN#NEC | NECDIC.SYS | ○ | − |Multiple phrases|NECREN.DRV | $REN#NEC | NECDIC.SYS | ○ | − PS98-XA121 |Hexadecimal |IO.SYS built-in | − | − | − | − (2.0) |Single phrase |NECDIC.DRV | $BUN#NEC | NECDIC.SYS | ○ | − PS98-XL121 |Hexadecimal |IO.SYS built-in | − | − | − | − (2.0) |Single phrase |NECDIC.DRV | $BUN#NEC | NECDIC.SYS | ○ | − |Multiple clauses|NECREN.DRV | $REN#NEC | NECDIC.SYS | ○ | − PS98-125 |Hexadecimal |Built-in IO.SYS | − | − | − | − (3.1) |Phrases |KNJDIC.DRV | KNJ | KNJDIC.SYS | − | − |Single clauses |NECDIC.DRV | $BUN#NEC | NECDIC.SYS | ○ | − PS98-127 |Hexadecimal |Built-in IO.SYS | − | − | − | − (3.1) |Single clauses |NECDIC.DRV | $BUN#NEC | NECDIC.SYS | ○ | − |Multiple clauses|NECREN.DRV | $REN#NEC | NECDIC.SYS | ○ | − PS98-129 |Hexadecimal |Built-in IO.SYS | − | − | − | − (3.1) |Single clause |NECDIC.DRV | $BUN#NEC | NECDIC.SYS | ○ | − |Multiple clauses|NECREN.DRV | $REN#NEC | NECDIC.SYS | ○ | − PS98-011 |Hexadecimal |Built-in IO.SYS | − | − | − | − (3.1) |Single clause |NECDIC.DRV | $BUN#NEC | NECDIC.SYS | ○ | − |Seq/mult.clauses|NECTIK1.DRV | $ATC#NEC | NECDIC.SYS | ○ | − | 〃 |NECTIK2.DRV | $ATD#NEC | | | PS98-XA125 |Hexadecimal |Built-in IO.SYS | − | − | − | − (3.1) |Single clause |NECDIC.DRV | $BUN#NEC | NECDIC.SYS | ○ | − PS98-XL125 |Hexadecimal |IO.SYS built-in | − | − | − | − (3.1) |Single clause |NECDIC.DRV | $BUN#NEC | NECDIC.SYS | ○ | − |Multiple clauses|NECREN.DRV | $REN#NEC | NECDIC.SYS | ○ | − PS98-LT125 |Hexadecimal |IO.SYS built-in | − | − | − | − (3.1) |Single clause |NECDIC.DRV | $BUN#NEC | ROM dictionary | ○ | − PS98-HA125 |Hexadecimal |IO.SYS built-in | − | − | − | − (3.1) |Single clause |NECDIC.DRV | $BUN#NEC | ROM dictionary | ○ | − |AI seq/cont. cls|NECKKJ1.DRV | MS$KANJI | ROM Dictionary | ○ | ○ | 〃 |NECKKJ2.DRV | $AID#NEC | | | PS98-013 |Hex |Built-in IO.SYS | − | − | − | − (3.3) |AI seq/cont. cls|NECAIK1.DRV | $AIC#NEC | NECAI.SYS | ○ | − | 〃 |NECAIK2.DRV | $AID#NEC | | | PS98-015 |Hex |IO.SYS built-in | − | − | − | − (3.3A) |AI seq/cont. cls|NECAIK1.DRV | $AIC#NEC | NECAI.SYS | ○ | − | 〃 |NECAIK2.DRV | $AID#NEC | | | PS98-017 |Hex |IO.SYS built-in | − | − | − | − (3.3B) |AI seq/cont. cls|NECAIK1.DRV | $AIC#NEC | NECAI.SYS | ○ | − | 〃 |NECAIK2.DRV | $AID#NEC | | | PS98-H1001-x1|Hex |Built-in IO.SYS | − | − | − | − (3.3B) |AI seq/cont. cls|NECAIK1.DRV | $AIC#NEC | NECAI.SYS | ○ | − | 〃 |NECAIK2.DRV | $AID#NEC | | | PS98-019 |Hex |IO.SYS built-in | − | − | − | − (3.3C) |AI seq/cont. cls|NECAIK1.DRV | MS$KANJI | NECAI.SYS | ○ | ○ | 〃 |NECAIK2.DRV | $AID#NEC | | | PS98-H1001-x2|Hex |Built-in IO.SYS | − | − | − | − (3.3C) |AI seq/cont. cls|NECAIK1.DRV | MS$KANJI | NECAI.SYS | ○ | ○ | 〃 |NECAIK2.DRV | $AID#NEC | | | PS98-1002-x2 |Hex |Built-in IO.SYS | − | − | − | − (3.3D) |AI seq/cont. cls|NECAIK1.DRV | MS$KANJI | NECAI.SYS | ○ | ○ | 〃 |NECAIK2.DRV | $AID#NEC | | | PS98-1003-x1 |Hex |Built-in IO.SYS | − | − | − | − (5.0) |AI seq/cont. cls|NECAIK1.DRV | MS$KANJI | NECAI.SYS | ○ | ○ | 〃 |NECAIK2.DRV | $AID#NEC | | | PS98-1003-x2 |Hex |Built-in IO.SYS | − | − | − | − (5.0A) |AI seq/cont. cls|NECAIK1.DRV | MS$KANJI | NECAI.SYS | ○ | ○ | 〃 |NECAIK2.DRV | $AID#NEC | | | -------------+----------------+----------------+-----------+--------------------+-------+-------- * When NECKKJ*.DRV for PS98-HA125 is installed, the display message is "Sequential/multiple phrase conversion", but in reality it is equivalent to AI sequential conversion. * AI seq/cont. cls (abbrev) = AI sequential/continuous clauses INT DCh - Function E0h Category Japanese input extension Name Open to application Target Single phrase, multiple phrases, successive conversion Input CL=E0h AX=0000h Output AX=Availability of Japanese input function 0000h: Japanese input function cannot be used 0001h: Japanese input function can be used INT DCh - Function E1h Category Japanese input extension Name Prohibit use from application Target Single phrase, multiple phrases, successive conversion Input CL=E1h Output CF=Termination condition 1: Abnormal termination AX=Type of error 0001h: Japanese input function not open to application 0: Normal termination INT DCh - Function E2h Category Japanese input extension Name Prohibit/enable Japanese input from keyboard Target Single phrase, multiple phrases, successive conversion Input CL=E2h AX=Mode setting 0000h: Allow Japanese input Other than 0: Prohibits Japanese input Output CF=Termination condition 1: Abnormal termination AX=Type of error 0001h: Japanese input function is not open to the application 0: Normal termination INT DCh - Function E3h Category Japanese input extension Name Sets the presence or absence of learning function Target Single phrase, multiple phrases, sequential conversion Input CL=E3h AX=Mode setting 0000h: No learning function Other than 0: Learning function Output CF=Termination condition 1: Abnormal termination AX=Type of error 0001h: Japanese input function is not open to the application 0: Normal termination AX=Pre-setting state 0000h: Pre-setting is no learning function 0001h: Pre-setting is learning function INT DCh - Function E4h Classification Japanese input extension Name Converts romaji string to kana string Target Single phrase, multiple phrases, sequential conversion Input CL=E4h DS:SI=Start address of buffer where romaji string (0 terminated) is stored ES:DI=Start address of conversion result storage area AX=Number of bytes in conversion result storage area Output CF=End condition 1: Abnormal termination AX=Type of error 0001h: Japanese input function is not open to application 0: Normal termination AX=Number of bytes in conversion result CX=Number of bytes in romaji string where conversion was performed INT DCh - Function E5h Classification Japanese input extension Name Converts 1-byte JIS string to full-width string Target Single phrase, multiple phrases, sequential conversion Input CL=E5h DS:SI=Start address of buffer where 1-byte JIS string (0 terminated) is stored ES:DI=Start address of conversion result storage area AX=Number of bytes in conversion result storage area DX=Conversion type 0000h: Converts kana to full-width katakana 0001h: Converts kana to full-width hiragana Output CF=Termination condition 1: Abnormal termination AX=Type of error 0001h: Japanese input function is not open to the application 0: Normal termination AX=Number of bytes of conversion result CX=Number of bytes of 1-byte JIS string converted INT DCh - Function E6h Category Japanese input extension Name Converts 1-byte JIS string to 2-byte half-width string (Shift JIS) Target Single phrase, multiple phrases, sequential conversion Input CL=E6h DS:SI=Start address of buffer where 1-byte code string (0 terminated) is stored ES:DI=Start address of conversion result storage area AX=Number of bytes of conversion result storage area Output CF=Termination condition 1: Abnormal termination AX=Type of error 0001h: Japanese input function is not open to the application 0: Normal termination AX=Number of bytes of conversion result CX=Number of bytes of converted 1-byte JIS string INT DCh - Function E7h Classification Japanese input extension Name Open dictionary Target Single phrase, multiple phrases, sequential conversion Input CL=E7h DS:SI=Start address of buffer where dictionary file name is stored ES:DI=Start address of buffer for storing previous dictionary information Output CF=Termination condition 1: Abnormal termination AX=Type of error 0001h: Japanese input function is not open to application 0003h: Dictionary is already open 0004h: Specified dictionary not found 0014h: Error occurred while reading disk 0: Normal termination INT DCh - Function E8h Category Japanese input extension Name Dictionary close Target Single phrase, multiple phrases, sequential conversion Input CL=E8h Output CF=Termination condition 1: Abnormal termination AX=Error type 0001h: Japanese input function is not open to the application 0002h: Dictionary is not open 0014h: An error occurred while reading the disk 0: Normal termination INT DCh - Function E9h Category Japanese input extension Name Phrase registration Target Single phrase, multiple phrases, sequential conversion Input CL=E9h DS:SI=Start address of buffer where reading (0 termination) is stored ES:DI=Start address of buffer where phrase (0 termination) is stored Output CF=Termination condition 1: Abnormal termination AX=Error type 0001h: Japanese input function is not open to the application 0002h: Dictionary is not open 0005h: Reading or phrase is too long 0006h: Reading or phrase contains invalid characters 0009h: There is no page to register reading 0010h: There is no area to register 0014h: An error occurred while reading the disk 0: Normal termination INT DCh - Function EAh Category Japanese input extension Name Delete phrase Target Single phrase, multiple phrases, sequential conversion Input CL=EAh DS:SI=Start address of buffer where reading (0 termination) is stored ES:DI=Start address of buffer where phrase (0 termination) is stored Output CF=Termination condition 1: Abnormal termination AX=Type of error 0001h: Japanese input function is not open to application 0002h: Dictionary is not open 0005h: Reading or phrase is too long 0006h: The reading or phrase contains an invalid character. 0007h: Reading or phrase not found 0011h: Cannot delete (word registered in the system) 0014h: Disk I/O error occurred 0: Normal termination INT DCh - Function EBh Classification Japanese input extension Name Learning phrases Target Single phrase Input CL=EBh DS:SI=Start address of buffer where reading (1 byte JIS, 0 terminated) is stored DS:BX=Start address of buffer where reading (Shift JIS, 0 terminated) is stored ES:DI=Start address of buffer where phrase to be learned (0 terminated) is stored Output CF=End condition 1: Abnormal termination AX=Type of error 0001h: Japanese input function is not open to application 0002h: Dictionary is not open 0005h: Reading or phrase is too long 0006h: The reading or phrase contains an invalid character 0007h: Reading or phrase not found 0011h: Learning function not set 0014h: An error occurred while reading the disk 0: Normal end INT DCh - Function ECh Classification Japanese input extension Name Phrase conversion (single phrase conversion: first candidate) Target Single phrase Input CL=ECh DS:SI=Start address of buffer where reading (1 byte JIS, 0 terminated) is stored DS:BX=Start address of buffer where reading (Shift JIS, 0 terminated) is stored ES:DI=Start address of conversion result storage area (62 bytes) Output CF=End condition 1: Abnormal termination AX=Type of error 0001h: Japanese input function is not open to application 0002h: Dictionary is not open 0005h: Reading is too long 0006h: Reading contains invalid character 0008h: Candidate not found 0014h: Error occurred while reading disk 0: Normal termination AX=Number of bytes of conversion result INT DCh - Function EDh Classification Japanese input extension Name Conversion to phrase (single phrase conversion: next candidate) Target Single phrase Input CL=EDh DS:SI=Start address of buffer where reading (1 byte JIS, 0 terminated) is stored¥ (Same value as when INT DCh - Function ECh was executed immediately before) DS:BX=Start address of buffer where reading (Shift JIS, 0 terminated) is stored¥ (Same value as when INT DCh - Function ECh was executed immediately before) ES:DI=Start address of conversion result storage area (62 bytes) Output CF=End condition 1: Abnormal termination AX=Type of error 0001h: Japanese input function is not open to application 0002h: Dictionary is not open 0005h: Reading is too long 0006h: Reading contains invalid character 0008h: Candidate not found 0014h: Error occurred while reading disk 0: Normal termination AX=Number of bytes of conversion result INT DCh - Function EEh Classification Japanese input extension Name Word conversion (single phrase conversion: previous candidate) Target Single phrase Input CL=EEh DS:SI=Start address of buffer where reading (1 byte JIS, 0 terminated) is stored¥ (Same value as last INT DCh - Function ECh execution) DS:BX=Start address of buffer where reading (Shift JIS, 0 terminated) is stored¥ (Same value as last INT DCh - Function ECh execution) ES:DI=Start address of conversion result storage area (62 bytes) Output CF=End condition 1: Abnormal termination AX=Type of error 0001h: Japanese input function is not open to application 0002h: Dictionary is not open 0005h: Reading is too long 0006h: Reading contains invalid character 0008h: Candidate not found 0014h: Error occurred while reading disk 0: Normal termination AX=Number of bytes in the conversion result INT DCh - Function EFh Classification Japanese input extension Name Enter Japanese input mode Target Single phrase, multiple phrases, sequential conversion Input CL=EFh Output CF=End condition 1: Abnormal termination AX=Type of error 0001h: Japanese input function not open to application 0013h: Japanese input from keyboard prohibited 0: Normal termination INT DCh - Function F0h Classification Japanese input extension Name Exit from Japanese input mode Target Single phrase, multiple phrases, successive conversion Input CL=F0h Output CF=Termination condition 1: Abnormal termination AX=Type of error 0001h: Japanese input function is not open to application 0: Normal termination INT DCh - Function F1h Classification Japanese input extension Name Set Japanese input mode Target Single phrase, multiple phrases, successive conversion Input CL=F1h AX=Input mode setting data bit 15-9: Unused bit 8: Reserved bit 7: 1=Multiple phrases, 0=Successive conversion (bit 7 supports only successive conversion) bit 6: 1=Radical, 0=Normal bit 5: 1=JIS code, 0=Normal bit 4,3: 00b = Full width (Shift JIS) 01b = 2-byte half width (Shift JIS) 10b = 1 byte JIS bit 2: 1=Hiragana, 0=Katakana bit 1: 1=Kana, 0=Alphanumeric bit 0: 1=Indirect, 0=Direct Output CF=End condition 1: Abnormal end AX=Type of error 0001h: Japanese input function is not open to the application 0: Normal end AX=Actual set mode INT DCh - Function F2h Category Japanese input extension Name Get Japanese input mode Target Single phrase, multiple phrases, sequential conversion Input CL=F2h Output CF=End condition 1: Abnormal end AX=Type of error 0001h: Japanese input function is not open to the application 0: Normal end AX=Current mode bit 15-9: Unused bit 8: 1=AI conversion driver, 0=Other conversion driver bit 7: 1=Multiple phrases, 0=Sequential conversion (bit 7 supports only sequential conversion) bit 6: 1=radical, 0=normal bit 5: 1=JIS code, 0=normal bit 4,3: 00b = full-width (Shift JIS) 01b = 2-byte half-width (Shift JIS) 10b = 1-byte JIS bit 2: 1=hiragana, 0=katakana bit 1: 1=kana, 0=alphanumeric bit 0: 1=indirect, 0=direct INT DCh - Function F3h Category Japanese input extension Name Convert 2-byte JIS to Shift JIS Target Single phrase, multiple phrases, sequential conversion Input CL=F3h AX=2-byte JIS code Output CF=Termination condition 1: Abnormal termination AX=Type of error 0001h: Japanese input function is not open to the application 0006h: Value of the entered code is invalid 0: Normal termination AX=Shift JIS code INT DCh - Function F4h Category Japanese input extension Name Convert Shift JIS to 2-byte JIS Target Single phrase, multiple phrases, sequential conversion Input CL=F4h AX=Shift JIS code Output CF=Termination condition 1: Abnormal termination AX=Type of error 0001h: Japanese input function is not open to the application 0006h: Value of the entered code is invalid 0: Normal termination AX=2-byte JIS code INT DCh - Function F7h Category Japanese input extension Name Get whether AI Kana-Kanji conversion driver is installed Target Multiple phrases, sequential conversion Input CL=F7h AX=0000h Output CF=Termination condition 1: Abnormal termination AX=Type of error 0001h: Japanese input function is not open to the application 0006h: Value of the entered code is invalid 0: Normal termination AX=Result of acquisition 0000h: AI Kana-Kanji conversion driver is not installed 0001h: AI Kana-Kanji conversion driver is built in INT DCh - Function F8h Classification Japanese input extension Name Dictionary look-ahead and sequential conversion Target Multiple clauses, sequential conversion Input CL=F8h AX=0000h: Initialize look-ahead buffer AX=0001h: Dictionary look-ahead AX=0002h: Reading correction and look-ahead AX=0003h: Dictionary look-ahead and sequential conversion DS:SI=First address of information table ------------+--------------------------------------------------- Offset Content ------------+--------------------------------------------------- +00h (WORD) Address of buffer where reading (1 byte JIS, 0 terminated) is stored +02h (WORD) Address of buffer where reading (Shift JIS, 0 terminated) is stored +04h (WORD) First address of conversion result storage area (62 bytes) (when AX=0003h) +06h (WORD) First address of reading correction (when AX=0002h) +08h (WORD) First address of reading excluding already converted phrases (1-byte JIS, 0-terminated) (when AX=0003h) +0Ah (WORD) First address of reading excluding already converted phrases (shift JIS, 0-terminated) (when AX=0003h) +10-3Fh Information on converted phrases (when AX=0003h) +50-7Fh Information on converted phrases (when AX=0003h) ------------+--------------------------------------------------- Output CF=Termination condition 1: Abnormal termination AX=Type of error 0001h: Sequential/concatenated conversion function not open to application 0002h: Dictionary not open 0005h: Reading too long 0006h: The reading contains an invalid character 0014h: An error occurred while reading the disk 0: Normal end AX=Number of bytes of the phrase converted sequentially INT DCh - Function F9h Category Japanese input extension Name Multi-phrase conversion (first candidate) Target Multi-phrase, sequential conversion Input CL=F9h AX=Phrase number (0=first phrase) DS:SI=First address of information table ------------+--------------------------------------------------- Offset Content ------------+--------------------------------------------------- +00h(WORD) Address of buffer where reading (1 byte JIS, 0 termination) is stored +02h(WORD) Address of buffer where reading (Shift JIS, 0 termination) is stored +04h(WORD) First address of conversion result storage area (132 bytes) +10-3Fh Information of each phrase (when AX≠0000h) +50 to 7Fh Information on each phrase (when AX ≠ 0000h) ------------+--------------------------------------------------- Output CF=Termination condition 1: Abnormal termination AX=Type of error 0001h: Sequential/concatenated conversion function not open to application 0002h: Dictionary not open 0005h: Reading too long 0006h: Reading contains invalid characters 0008h: Candidate not found, or conversion impossible because number of phrases exceeds 16 (or 32) 0: Normal termination AX=Number of bytes of converted text INT DCh - Function FAh Category Japanese input extension Name Multi-phrase conversion (next candidate) Target Multi-phrase, sequential conversion Input CL=FAh AX=phrase number (0=first phrase) DS:SI=first address of information table ------------+--------------------------------------------------- Offset Content ------------+--------------------------------------------------- +00h(WORD) Address of buffer where reading (1 byte JIS, 0 terminated) is stored¥ (Same value as when INT DCh - Function F9h was executed immediately before) +02h(WORD) Address of buffer where reading (shift JIS, 0 terminated) is stored¥ (Same value as when INT DCh - Function F9h was executed immediately before) +04h(WORD) First address of conversion result storage area (132 bytes) +10-3Fh Information of each phrase (when AX≠0000h) +50-7Fh Information on each phrase (when AX ≠ 0000h) ------------+--------------------------------------------------- Output CF=End condition 1: Abnormal termination AX=Type of error 0001h: Sequential/multiple phrase conversion function not open to application 0002h: Dictionary not open 0006h: Invalid character in reading 0008h: Candidate not found 0014h: Error occurred while reading disk 0: Normal termination AX=Number of bytes of next candidate INT DCh - Function FBh Category Japanese input extension Name Multi-phrase conversion (previous candidate) Target Multi-phrase/sequential conversion Input CL=FBh AX=Phrase number (0=first phrase) DS:SI=First address of information table ------------+--------------------------------------------------- Offset Content ------------+--------------------------------------------------- +00h(WORD) Address of the buffer where the reading (1 byte JIS, 0 terminated) is stored (same value as when INT DCh - Function F9h was executed immediately before) +02h (WORD) Address of the buffer where the reading (Shift JIS, 0 terminated) is stored (same value as when INT DCh - Function F9h was executed immediately before) +04h (WORD) First address of the conversion result storage area +10-3Fh Information of each clause +50-7Fh Information of each clause ------------+--------------------------------------------------- Output CF=Termination condition 1: Abnormal termination AX=Type of error 0001h: Sequential/concatenated conversion function is not open to the application 0002h: Dictionary is not open 0006h: Reading contains invalid characters 0008h: Candidate not found 0014h: An error occurred while reading the disk 0: Normal termination AX=Number of bytes of next candidate INT DCh - Function FCh Classification Japanese input extension Name Learning (multiple phrases) Target Multi-phrase, sequential conversion Input CL=FCh AX=phrase number (0=first phrase) DS:SI=first address of information table -----------+--------------------------------------------------- Offset Contents -----------+--------------------------------------------------- +00h(WORD) Address of buffer where reading (1 byte JIS, 0 terminated) is stored (Same value as when INT DCh - Function F9h was executed immediately before) +02h(WORD) Address of buffer where reading (shift JIS, 0 terminated) is stored (Same value as when INT DCh - Function F9h was executed immediately before) +04h(WORD) First address of conversion result storage area +10-3Fh Information of each phrase +50-7Fh Information of each phrase -----------+--------------------------------------------------- Output CF=Termination condition 1: Abnormal termination AX=Type of error 0001h: The sequential/multiple-phrase conversion function is not open to the application. 0002h: The dictionary is not open. 0014h: An error occurred while reading the disk. 0015h: A logical error occurred. 0: Normal termination. INT DCh - Function FDh. Classification Japanese input extension function. Name Setting for read-ahead function availability. Target Multi-phrase. Input CL=FDh. AX=Mode setting. 0000h: No read-ahead function. Other than 0: Read-ahead function available. Output CF=End condition. 1: Abnormal termination. AX=Type of error. 0001h: Multi-phrase conversion function is not open to the application. 0: Normal termination. AX=Pre-setting state. 0000h: Pre-setting is no read-ahead function. 0001h: Pre-setting is read-ahead function available.